home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / admin / makedev-.5 / makedev- / makedev-1.5 / Makefile < prev    next >
Makefile  |  1995-06-04  |  2KB  |  99 lines

  1. #
  2. # Makefile for MAKEDEV-C
  3.  
  4. # Here is stuff suitable for the standalone distribution.
  5. # TESTING should not be set unless you're testing makedev.
  6. # UTIL_LINUX should be set to 1 if makedev is being built as 
  7. # part of the util-linux distribution.
  8.  
  9. TESTING=0
  10. UTIL_LINUX=0
  11.  
  12. ifeq ($(TESTING),1)
  13.  
  14. # Settings for testing and developing makedev
  15. CC=gcc
  16. CFLAGS=-g -Wall -DTESTING
  17. LDFLAGS=-qmagic
  18. BINARY=MAKEDEV
  19. CAN_BUILD_PARSER=1
  20.  
  21. else
  22. ifneq ($(UTIL_LINUX),1)
  23.  
  24. # Settings for shipping makedev standalone
  25. CC=gcc
  26. CFLAGS=-O2 -fomit-frame-pointer
  27. LDFLAGS=-qmagic -s
  28. BINARY=MAKEDEV
  29.  
  30. else
  31.  
  32. # Settings for shipping makedev with the util-linux package
  33. include ../MCONFIG
  34. CFLAGS=$(CFLAGS) -DUTIL_LINUX
  35. BINARY=MAKEDEV-C
  36. DEV=$(BINARY)
  37. FILES=devinfo makedev.cfg
  38.  
  39. endif
  40. endif
  41.  
  42. # Man pages and other stuff
  43. MAN5=devinfo.5 makedev.cfg.5
  44. MAN8=$(BINARY).8
  45.  
  46. all: $(BINARY)
  47.  
  48. $(BINARY): parser.o devices.o
  49.     $(CC) $(LDFLAGS) parser.o devices.o -o $@
  50.  
  51. ifeq ($(CAN_BUILD_PARSER),1)
  52. %.c: %.syn
  53.     ag -b $<
  54. endif
  55.  
  56. %.o: %.c
  57.     $(CC) $(CFLAGS) $< -c
  58.  
  59.  
  60. ifeq ($(UTIL_LINUX),1)
  61. #Installation for util-linux
  62.  
  63. install: all
  64.     $(INSTALLDIR) $(DEVDIR) $(ETCDIR)
  65.     $(INSTALLDAT) $(FILES) $(ETCDIR)
  66.     $(INSTALLBIN) $(DEV) $(DEVDIR)
  67.     $(INSTALLDIR) $(MAN5DIR) $(MAN8DIR)
  68.     $(INSTALLMAN) $(MAN5) $(MAN5DIR)
  69.     $(INSTALLMAN) $(MAN8) $(MAN8DIR)
  70.  
  71. else
  72. #Installation for standalone
  73.  
  74. install: all
  75.     install -m 755 -s MAKEDEV /dev
  76.     install -m 644 devinfo makedev.cfg /etc
  77.     install -m 644 $(MAN5) /usr/man/man5
  78.     install -m 644 $(MAN8) /usr/man/man8
  79.  
  80. endif
  81.  
  82. parser.o: parser.c parser.h devices.h 
  83. devices.o: devices.c devices.h version.h
  84. .PHONY: all tidy distclean clean pristine
  85.  
  86. tidy: 
  87.     -rm -f *~ core
  88.  
  89. distclean: tidy
  90.     -rm -f *.o
  91.  
  92. clean: distclean
  93.     -rm -f MAKEDEV MAKEDEV-C
  94.  
  95. ifeq ($(CAN_BUILD_PARSER),1)
  96. pristine: clean
  97.     -rm -f parser.c parser.h
  98. endif
  99.